//
//  verificationEarlyTermination.h
//  map-matching
//
//  Created by Lv Xin on 16/5/10.
//  Copyright © 2016年 Lv Xin. All rights reserved.
//
//  Personal Homepage: www.davidlvxin.com

#ifndef verificationEarlyTermination_h
#define verificationEarlyTermination_h

#include <stdio.h>
#include "verificationStrategy.h"
#include "trajectory_generated.h"
#include "TR_SIM.h"
#include "filterTree.h"

//struct cmp;

class EarlyTermination : public Verification{
    double maxSimPoint;
    double maxSimPointB;
    double maxSimLenR;
    GenerateTrajectory maxSimRoute;
    Map* mapSet;
    Trajectary& traj;
private:
    void computeWithoutStrategy();
    void computeWithStrategy();
    void computeSim(Route*);
public:
    EarlyTermination(bool u, Map*, Trajectary&);
    ~EarlyTermination();
    void computeMaxSim();
    void sortCandidateRByPQ();
    void deleteRoute();
    GenerateTrajectory getMaxSim();
};

#endif /* verificationEarlyTermination_h */
